home *** CD-ROM | disk | FTP | other *** search
-
- f100 500 0
-
- a100
- ;
- ; fastvid - fast video routines
- ;
- ; this program will terminate and stay resident. it replaces some
- ; of the slowest video services with new, faster versions.
- ;
- ; s.h.smith, 11-may-86
- ;
- ;
-
- a100
- ; startup entry point
- jmp 1a0 ;install
-
-
- a103
- ; vector to old DOS interrupt
- db 0,0,0,0
-
-
- a109
- ; new video service interrupt
- cmp ah,02
- jz 170 ;DISPLAY OUTPUT
- cmp ah,06
- jz 160 ;DIRECT CONSOLE I/O
- jmp 120
-
-
- a120
- ; vector to old DOS handler
- cs:
- jmp far [103] ;to old DOS handler
- ;
- ; a signature in bytes
- ;
- db 0a,0d,'FASTVID - Fast video for DOS, S.H.Smith, 13-May-86',0a,0d
- db 1a
-
-
- a160
- ;
- ; new 'DIRECT CONSOLE I/O' function
- ;
- cmp dl,ff
- jz 120 ;let DOS do the console input function
- jmp 170 ;else use new display output function
-
-
- a170
- ;
- ; new 'DISPLAY OUTPUT' function
- ; pass display request on to video bios
- ;
- cmp dl,9 ;tab?
- jnz 180
- mov dl,20 ;change into space
- jmp 180
-
- a180
- push ax ;dos saves ax...
- mov ah,0e ;write tty service
- mov al,dl ;char to write
- mov dl,15 ;default color
- int 10 ;bios video service
- pop ax
- iret
-
-
- a1a0
- ;
- ; startup code
- ;
- mov ax,0
- mov ds,ax
- ;
- ;save old dos vector
- ;
- mov ax,[84]
- cs:
- mov [103],ax
- mov ax,[86]
- cs:
- mov [105],ax
- ;
- ;install new vector
- ;
- mov ax,109
- mov [84],ax
- mov ax,cs
- mov [86],ax
- ;
- ;set last resident code offset
- ;and terminate-and-stay-resident
- ;
- mov dx,1a0
- int 27
-
-
- rcx
- 100
- nfastvid.com
- w
- q